package com.sbpm.crmbpm.client.providers;

import com.google.gwt.editor.client.Editor;
import com.sbpm.crmbpm.shared.data.client.Address;
import com.sbpm.crmbpm.shared.data.client.AddressType;
import com.sbpm.crmbpm.shared.data.dict.City;
import com.sbpm.crmbpm.shared.data.dict.Country;
import com.sencha.gxt.core.client.ValueProvider;
import com.sencha.gxt.data.shared.LabelProvider;
import com.sencha.gxt.data.shared.ModelKeyProvider;
import com.sencha.gxt.data.shared.PropertyAccess;

public interface AddressProperties extends PropertyAccess<Address>
{
        @Editor.Path("id")
        ModelKeyProvider<Address> key();

        @Editor.Path("address")
        LabelProvider<Address> addressLabel();


        ValueProvider<Address, Long> id();
        ValueProvider<Address, AddressType> type();
        ValueProvider<Address, City> city();

        @Editor.Path("city.country")
        ValueProvider<Address, Country> country();
        ValueProvider<Address, String> address();

}
